                          __        __ __      __   ____   ___    ____
                           |\      /|   |      |   /    \|  |    /    \|
                           | \    / |   |      |  |         |   |          by
                           |  \  /  |   |      |   \----\   |   |         John
                           |   \/   |   |      |         |  |   |        Selway
                          _|_      _|_   \____/   |\____/  _|_   \____/
                           ___    __   __    __ ____    __    ____ _____  ____
                          /   \  /  \   |\  /|   |  \  /  \  <      |   |  |  >
                          |     |    |  | \/ |   |--/ |    |   \    |--    |-<
                          \___/  \__/  _|_  _|_ _|_    \__/  ____> _|___| _|  \

                           A program to help you write and save your own tunes!


Here's a very slick program which allows you to write and edit pieces of music
on your Amstrad. The music can consist of two tunes playing simultaneously
(hopefully in harmony - but that's up to you!), and each tune can be up to 1000
notes long, enough to write a minor symphony.
    To use the program you have to enter the notes in standard musical notation
- if you don't know how to do that, it's an excellent way of learning, because
the program prompts you at each stage. Alternatively, you can simply copy a
piece of music from a published source such as a song book, entering both the
melody and a bass accompaniment.

--------------------------+
      Using the prog      |
--------------------------+

When the program is run, the screen should be split up into three windows, one
of which contains a menu of six options which are outlined below:
1. ENTERING MUSIC. Each note is entered in two stages. First you position the
note on the five-line 'staff' using cursor keys, according to how high or low
you want it to sound. The note is entered by pressing the S, F or N keys
according to whether the note is to be Sharp, Flat or Natural. Alternatively
you can press R and a 'rest' is entered instead of a note.
    Next a choice of notes or rests of different lengths (one beat, two beats,
half-a-beat, etc) appears in the bottom window and you highlight one using the
cursor keys. You then press 0, 1 or 2 to indicate how many dots are to appear
after the note. (A dot lengthens the duration of the note by 50%, two dots by
75%.) Once you've done this, the note is printed in position on the staff.
    You then repeat the process for the accompanying note (or rest)on the bass
staff, before moving on to the second pair of notes. Where things get a bit
tricky is if you enter notes or rests of different lengths on the two staves.
This means that future pairs of notes will not be synchronised, so you have to
keep an independent check on each.

2. EDIT MUSIC. This offers you the chance to scroll forward or backward through
your tune until you reach a pair of notes you want to alter. Notes can be
deleted or inserted in similar way to above.

3. PLAY MUSIC. This is the fun bit when you hear your creation. First you are
allowed to select the speed at which it's to run, then you just sit back and
enjoy, or more likely, wince and try again.

4. CLEAR MEMORY. This gets rid of the tune in memory. Be careful not to hit the
key by accident as you are not offered a chance to change your mind.

5. SAVE MUSIC. You can save you music in two ways - either for reloading into
this program (press A for ASCII file), or for use in a program of your own
(press B for binary file).

6. LOAD MUSIC. This allows you to reload a tune previously saved using the 5A
option. If there is already music in memory, the music loaded will be added to
the end of it.


Typing it in

As with all longish listings - this one's about 10K - a certain amount of
patience and diligence is required. Be especially careful entering the DATA
statements as the errors here could cause the program to crash.
    It's definitely worth saving the program every so often as you type it in
as a safety precaution. And you MUST save it before attempting to run it in
case it crashes.

 __________________________
|                          |
| [Listing - COMPOSER.BAS] |
|__________________________|
